
// 创建路由
const router = require('express').Router();
// 导入操作数据库的模块
const messageModel = require('../../model/messageModel')

// 获取 db_message 这张表的数据
// 接口地址： 
// URL: /api/message/list
router.get('/list', async (req,res)=> {
    // 查询db_message数据表的内容
    await messageModel.list()
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "获取列表信息成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "获取列表信息失败",
                err
            })
        }
    )
})

// URL: /api/message/items
// 参数： id , author
router.get('/items', async (req,res)=> {
    let  { id , author} = req.query;
    console.log({ id , author} )
    // 查询db_message数据表的内容
    await messageModel.items(id, author)
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "条件查询信息成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "条件查询信息失败",
                err
            })
        }
    )
})

// URL: /api/message/search
// 参数： keyword
router.get('/search', async (req,res)=> {
    let  { keyword } = req.query;
    console.log({keyword})
    // 查询db_message数据表的内容
    await messageModel.search(keyword)
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "关键字查询信息成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "关键字查询信息失败",
                err
            })
        }
    )
})


// URL: /api/message/add
// 参数：title ,content, author
router.post('/add', async (req,res)=> {
    // 获取参数
    let  { title ,content, author } = req.body;
    // console.log({title ,content, author})
    if(title == undefined || title == "") {
        res.send({code: 404, msg: '缺少参数'});
        return false;
    }
    // 添加db_message数据表的内容
    await messageModel.add(title ,content, author )
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "添加数据成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "添加数据失败",
                err
            })
        }
    )
})


// URL: /api/message/update
// 参数：id, title
router.post('/update', async (req,res)=> {
    // 获取参数
    let  { id , title } = req.body;
    if(title == undefined || title == "") {
        res.send({code: 404, msg: '缺少参数'});
        return false;
    }
    // 修改db_message数据表的内容
    await messageModel.update(id , title)
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "修改数据成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "修改数据失败",
                err
            })
        }
    )
})

// URL: /api/message/remove
// 参数：id, title
router.get('/remove', async (req,res)=> {
    // 获取参数
    let  { id  } = req.query;
    // 删除 db_message数据表的内容
    await messageModel.remove(id)
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "删除数据成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "删除数据失败",
                err
            })
        }
    )
})

// URL: /api/message/total
// 参数：无
router.get('/total', async (req,res)=> {
    // 获取参数
    let  { id  } = req.query;
    // 统计 db_message数据表的内容
    await messageModel.total()
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "统计数据成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "统计数据失败",
                err
            })
        }
    )
})

// URL: /api/message/pagelist
// 参数：page, pageSize
router.get('/pagelist', async (req,res)=> {
    // 获取参数
    let  { page, pageSize  } = req.query;
   
    // 获取 db_message数据表的分页内容
    await messageModel.pagelist(page, pageSize)
    .then(
        rows => {
            // console.log(rows);
            // 响应数据给前端
            res.send({
                code: 200,
                msg: "获取分页数据成功",
                result: rows
            })
        },
        err => {
            res.send({
                code: -1,
                msg: "获取分页数据失败",
                err
            })
        }
    )
})


// 曝光这个路由
module.exports = router;